package online.longzipeng.cinemasys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import online.longzipeng.cinemasys.dto.sysuser.SysUserLoginResponseDTO;
import online.longzipeng.cinemasys.dto.sysuser.SysUserQueryResponseDTO;
import online.longzipeng.cinemasys.entity.SysUser;
import online.longzipeng.cinemasys.vo.sysuser.SysUserChangePasswordVo;
import online.longzipeng.cinemasys.vo.sysuser.SysUserQueryVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lzp
 * @since 2021-04-09
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 管理端登录
     */
    SysUserLoginResponseDTO login(SysUser sysUser);

    /**
     * 修改密码
     */
    void changePassword(SysUserChangePasswordVo sysUserChangePasswordVo);

    /**
     * 新增用户
     */
    void add(SysUser sysUser);

    /**
     * 修改用户
     */
    void updateUser(SysUser sysUser);

    /**
     * 获取用户信息
     */
    SysUserLoginResponseDTO getInfo(String token);

    /**
     * 查询所有带分页
     */
    IPage<SysUserQueryResponseDTO> getListPage(SysUserQueryVO sysUserQueryVO);

    /**
     * 通过token获取用户较为详细的信息
     */
    SysUser getUserInfo(String token);

    /**
     * 通过用户名查找用户
     */
    SysUser findByUserName(String userName);
}
